function e(e, r) {
    return e === r ? 0 !== e || 0 !== r || 1 / e == 1 / r : e != e && r != r;
}

var r = require("./@babel/runtime/helpers/interopRequireDefault.js")(require("./@babel/runtime/helpers/typeof.js")), t = Object.prototype.hasOwnProperty;

module.exports = function(u, n) {
    if (e(u, n)) return !0;
    if ("object" !== (0, r.default)(u) || null === u || "object" !== (0, r.default)(n) || null === n) return !1;
    var l = Object.keys(u), i = Object.keys(n);
    if (l.length !== i.length) return !1;
    for (var o = 0; o < l.length; o++) if (!t.call(n, l[o]) || !e(u[l[o]], n[l[o]])) return !1;
    return !0;
};